Skip to content

New Learning Path: Deploy containerized workloads with Topo - #3193

Merged
pareenaverma merged 17 commits into
ArmDeveloperEcosystem:mainfrom
matt-cossins:main
Apr 29, 2026
Merged

New Learning Path: Deploy containerized workloads with Topo#3193
pareenaverma merged 17 commits into
ArmDeveloperEcosystem:mainfrom
matt-cossins:main

Conversation

@matt-cossins

Copy link
Copy Markdown
Contributor

Before submitting a pull request for a new Learning Path, please review Create a Learning Path

  • I have reviewed Create a Learning Path

Please do not include any confidential information in your contribution. This includes confidential microarchitecture details and unannounced product information.

  • I have checked my contribution for confidential information

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of the Creative Commons Attribution 4.0 International License.

matt-cossins and others added 15 commits April 19, 2026 01:30
Signed-off-by: Tomás González <tomasagustin.gonzalezorlando@arm.com>
The project has been renamed and its compose file has changed.

Signed-off-by: Tomás González <tomasagustin.gonzalezorlando@arm.com>
One of the coolest features about Topo is that it allows the user
to deploy firmware + application software as containerized workloads
to an heterogenous device with a single command and through standard
container tools.

Signed-off-by: Tomás González <tomasagustin.gonzalezorlando@arm.com>
Topo not only saves you the troubles of setting everything up,
making sure there are no incompatibility issues as well as having
the necessary dependencies, etc.

Topo also helps you deploy in a simple command.
Instead of having to execute multiple SSH + container engine commands
all in sequence, Topo automates all of that away so that you don't have
to deal with that.

Signed-off-by: Tomás González <tomasagustin.gonzalezorlando@arm.com>
1. It was already mentioned in the same paragraph that Topo is
   open-source/pubic.
2. Even though it's true that the templates are listed in a special
   file in the repository, this file is not meant for showcasing the
   templates but rather they are showcased by the `topo templates`
   command. In the future, we may be pulling this file from
   somewhere else.
3. "pre-built" is not technically correct as the images need to be
   built by the `topo deploy` command.

Signed-off-by: Tomás González <tomasagustin.gonzalezorlando@arm.com>
Instead of:

build container images on host -> transfer to target -> start
                                                        services on
                                                        target
Topo also supports:

build container images on target -> start services on target

... by using localhost as the target.

Signed-off-by: Tomás González <tomasagustin.gonzalezorlando@arm.com>
Topo health already checks for Host dependencies like SSH and Docker.
It also provides hints on how to resolve the issues.

 * Suggest running Topo health first on the Host and then on the
   target.

Splitting it in two may help address the issues separately.

Signed-off-by: Tomás González <tomasagustin.gonzalezorlando@arm.com>
In certain scenarios, Warnings can indicate that the user needs to
install something in the target. Topo is unsure as to whether this
will be needed or not in the user's project, so it turns the missing
dependency into a warning rather than an error, but this doesn't
mean that the dependency is entirely optional in all scenarios.

Signed-off-by: Tomás González <tomasagustin.gonzalezorlando@arm.com>
Signed-off-by: Tomás González <tomasagustin.gonzalezorlando@arm.com>
Suggest changes to the Topo Learning Path
@matt-cossins

Copy link
Copy Markdown
Contributor Author

Learning path has had technical review from @tgonzalezorlandoarm from DevX Topo team

Set the draft status for the Topo deployment guide.
@pareenaverma
pareenaverma merged commit 9b8b29e into ArmDeveloperEcosystem:main Apr 29, 2026
2 checks passed
topo describe --target user@my-target
```

This writes a `target-description.yaml` file in your current directory.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The description gets generated on stdout. I didn't see the yaml created - running on Mac host. I piped the output to the yaml to continue on.. but then see next comment

Use the following command on your host device to to list templates according to the target description:

```bash
topo templates --target-description target-description.yaml

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

parver01@KWJY1XP2MT ~ % topo templates --target-description target-description.yaml
15:44:09 ERR unknown flag: --target-description
So then I tried "topo templates target-description.yaml" but that gives me all the templates not templates fit for target

You can also query templates directly by specifying the target:

```bash
topo templates --target user@my-target

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

querying directly works

@matt-cossins

matt-cossins commented Apr 30, 2026

Copy link
Copy Markdown
Contributor Author

Followed-up with Topo team. They made a small API change changing the behaviour of topo describe to output just stdout, and to remove the --target-description flag.

Will remove these from the LP and raise a new PR: #3232

Have set-up a watch on Topo releases where they note any breaking changes so will be aware if this needs any other small updates in future.

@pareenaverma pareenaverma removed their assignment May 4, 2026
@anupras-mohapatra-arm anupras-mohapatra-arm added ready_to_publish Ready for final review and publish and removed editorial_review labels May 6, 2026
@pareenaverma pareenaverma moved this from In Progress to Done in Arm Learning Paths Roadmap May 9, 2026
@pareenaverma pareenaverma added publish and removed ready_to_publish Ready for final review and publish labels May 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

5 participants